package com.dmz.etc.server.utils;

import cn.hutool.core.util.HexUtil;

import java.nio.ByteBuffer;

/**
 * @author lee
 */
public class Convert extends cn.hutool.core.convert.Convert {

    /**
     * 仅适用于该业务
     * @param number
     * @return buffer
     */
    public static byte[] int2Bytes(int number) {
        ByteBuffer buffer = ByteBuffer.allocate(4);
        buffer.putInt(number);
        return buffer.array();
    }
    /**
     * 仅适用于该业务
     * @param byteArray
     * @return int
     */
    public static int bytes2Int(byte[] byteArray) {
        ByteBuffer buffer = ByteBuffer.wrap(byteArray);
        return buffer.getInt();
    }

    /**
     * 字符串转换成为16进制(无需Unicode编码)
     * @param str
     * @return hex
     */

    public static String str2Hex(String str) {
        return HexUtil.encodeHexStr(str);
    }

    /**
     * 16进制直接转换成为字符串(无需Unicode解码)
     * @param hex
     * @return string
     */
    public static String hex2Str(String hex) {
        return HexUtil.decodeHexStr(hex);
    }

    /* 把16进制字符串转换成字节数组
     * @param hex
     * @return
     */
    public static byte[] hex2Bytes(String hex) {
        return HexUtil.decodeHex(hex);
    }

    /**
     * 把字节数组转换成16进制字符串
     * @param bArray
     * @return
     */
    public static String bytes2Hex(byte[] bArray) {
        return HexUtil.encodeHexStr(bArray);
    }
}
